package com.chenchen.tiguan.equipment.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.chenchen.tiguan.common.annotation.Excel;
import com.chenchen.tiguan.common.core.domain.BaseEntity;

/**
 * 设备维修管理对象 equipment_maintenance
 * 
 * @author chenchen
 * @date 2025-04-13
 */
public class EquipmentMaintenance extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 维护记录ID */
    private Long maintenanceId;

    /** 设备ID */
    @Excel(name = "设备ID")
    private Long equipmentId;

    /** 维护开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "维护开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startTime;

    /** 维护结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "维护结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTime;

    /** 0-预防性维护,1-故障维修 */
    private Long maintenanceType;

    /** 维护费用 */
    @Excel(name = "维护费用")
    private Long cost;

    /** 维修人员 */
    @Excel(name = "维修人员")
    private String technician;

    /** 维护详情 */
    @Excel(name = "维护详情")
    private String description;

    /** 关联工单ID */
    @Excel(name = "关联工单ID")
    private Long relatedOrder;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date creatTime;

    /** 维修状态 */
    @Excel(name = "维修状态")
    private Long maintenanceStatus;

    public void setMaintenanceId(Long maintenanceId) 
    {
        this.maintenanceId = maintenanceId;
    }

    public Long getMaintenanceId() 
    {
        return maintenanceId;
    }
    public void setEquipmentId(Long equipmentId) 
    {
        this.equipmentId = equipmentId;
    }

    public Long getEquipmentId() 
    {
        return equipmentId;
    }
    public void setStartTime(Date startTime) 
    {
        this.startTime = startTime;
    }

    public Date getStartTime() 
    {
        return startTime;
    }
    public void setEndTime(Date endTime) 
    {
        this.endTime = endTime;
    }

    public Date getEndTime() 
    {
        return endTime;
    }
    public void setMaintenanceType(Long maintenanceType) 
    {
        this.maintenanceType = maintenanceType;
    }

    public Long getMaintenanceType() 
    {
        return maintenanceType;
    }
    public void setCost(Long cost) 
    {
        this.cost = cost;
    }

    public Long getCost() 
    {
        return cost;
    }
    public void setTechnician(String technician) 
    {
        this.technician = technician;
    }

    public String getTechnician() 
    {
        return technician;
    }
    public void setDescription(String description) 
    {
        this.description = description;
    }

    public String getDescription() 
    {
        return description;
    }
    public void setRelatedOrder(Long relatedOrder) 
    {
        this.relatedOrder = relatedOrder;
    }

    public Long getRelatedOrder() 
    {
        return relatedOrder;
    }
    public void setCreatTime(Date creatTime) 
    {
        this.creatTime = creatTime;
    }

    public Date getCreatTime() 
    {
        return creatTime;
    }
    public void setMaintenanceStatus(Long maintenanceStatus) 
    {
        this.maintenanceStatus = maintenanceStatus;
    }

    public Long getMaintenanceStatus() 
    {
        return maintenanceStatus;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("maintenanceId", getMaintenanceId())
            .append("equipmentId", getEquipmentId())
            .append("startTime", getStartTime())
            .append("endTime", getEndTime())
            .append("maintenanceType", getMaintenanceType())
            .append("cost", getCost())
            .append("technician", getTechnician())
            .append("description", getDescription())
            .append("relatedOrder", getRelatedOrder())
            .append("creatTime", getCreatTime())
            .append("createBy", getCreateBy())
            .append("maintenanceStatus", getMaintenanceStatus())
            .toString();
    }
}
